package main

import (
	"fmt"
	"strings"
)

/*
反转字符串中的单词

给定一个字符串，你需要反转字符串中每个单词的字符顺序，同时仍保留空格和单词的初始顺序。
示例：
输入："Let's take LeetCode contest"
输出："s'teL ekat edoCteeL tsetnoc"
*/

//自己想的切割字符串
func reverseWords(s string) string {
	str := strings.Split(s, " ")
	var res string
	for _, j := range str {
		for right := len(j) - 1; right >= 0; right-- {
			res += string(j[right])
		}
		res = res + " "
	}
	/*
		strings.TrimLeft其实就是把cutset里面的字符串拆分成字符，然后从左往右，逐个比对字符串中的每个字符，直到遇到没有在cutset中出现的字符。
		strings.TrimRight其实就是把cutset里面的字符串拆分成字符，然后从右往左，逐个比对字符串中的每个字符，直到遇到没有在cutset中出现的字符。
	*/
	return strings.TrimRight(res, " ")
}

func main() {
	s := "Let's take LeetCode contest"
	fmt.Println(reverseWords(s))
}
